Identifying Change Patterns in Software History
نویسندگان
چکیده
Traditional algorithms for detecting differences in source code focus on differences between lines. As such, little can be learned about abstract changes that occur over time within a project. Structural differencing on the program’s abstract syntax tree reveals changes at the syntactic level within code, which allows us to further process the differences to understand their meaning. We propose that grouping of changes by some metric of similarity, followed by pattern extraction via antiunification will allow us to identify patterns of change within a software project from the sequence of changes contained within a Version Control System (VCS). Tree similarity metrics such as a tree edit distance can be used to group changes in order to identify groupings that may represent a single class of change (e.g., adding a parameter to a function call). By applying antiunification within each group we are able to generalize from families of concrete changes to patterns of structural change. Studying patterns of change at the structural level, instead of line-by-line, allows us to gain insight into the evolution of software.
منابع مشابه
Temperature simulation of southwestern Iran during (2015-2050) using data from the general air circulation model
In recent years, global warming and climate change have been associated with dire consequences for human societies. Changes in climate patterns can lead to severe floods, extreme heat and cold, more frequent droughts, and global warming. This increase in global warming has upset the Earthchr('39')s climate balance and caused widespread climate change in most parts of the world, known as climate...
متن کاملIdentifying the software and their families using the exploration techniques of sequential patterns in dynamic analysis
Nowadays, crypto-ransomware is considered as one of the most threats in cybersecurity. Crypto ransomware removes data access by encrypting valuable data and requests a ransom payment to allow data decryption. As ransomware is still new in the field of cybersecurity, there are few pieces of research focusing on detecting ransomware samples. Most published works considered System File and process...
متن کاملIdentifying patterns of the dynamic credit risk of banks customers and financial institutions: case study- an Iranian bank
Credit risk assessment has always been one of the most important concerns of banks. Widely used models such as financial models have been used to assess credit risk so far. But increasing non-performing loans indicates that today these models cannot assess the credit risk of customers. Inconstant and uncertain environmental, social and political factors affect customer behavior and change custo...
متن کاملDeterminants of Malignant Transformation in Fibrocystic Disease of Breast
Background: Fibrocystic disease of the breast in one of the commonest diseases in women above 30 years of age. The assumption of it being innocuous and benign is questionable with increased incidence of malignancies developing in these women. Introduction: Understanding the pathophysiology of fibrocystic disease is essential for identifying determinants of malignant change. Case Report: A case ...
متن کاملManaging Scope Creep with Design Patterns in Formal Specifications
Scope creep can affect the timeliness of the software engineering process. Scope creep often occurs when features are changed or added. Software specification languages provide a formal method for extrapolating and expanding requirements. Several design patterns provide object oriented constructs whose goal are to mitigate changes in code. Applying these design patterns to formal specifications...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1307.1719 شماره
صفحات -
تاریخ انتشار 2013